﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KPIS.GERP.GHRMS.MODEL
{
    [Serializable]
    public class CommandDetailInfo : RecordInfo
    {
        private int cmd_dtls_seq;
        private CommandInfo cmd_seq;
        private EmployeeInfo emp_seq;
        private PositionInfo old_pos_seq;
        private string old_pos_ref;
        private string old_pos_name;
        private string old_exec_name;
        private double old_exec_salary;
        private string old_pos_line;        
        private ClassInfo old_class_seq;
        private string old_class_name;
        private JobSiteInfo old_job_site_seq;
        private string old_job_site_name;
        private JobSiteInfo old_working_job_site_seq;
        private string old_working_job_site_name;
        private double old_salary;
        private PositionInfo new_pos_seq;
        private string new_pos_ref;
        private string new_pos_name;
        private string new_exec_name;
        private double new_exec_salary;
        private string new_pos_line;        
        private ClassInfo new_class_seq;
        private string new_class_name;
        private JobSiteInfo new_job_site_seq;
        private string new_job_site_name;
        private JobSiteInfo new_working_job_site_seq;
        private string new_working_job_site_name;
        private double new_salary;

        private Nullable<int> ent_no;
        private string ent_pos_name;
        private ClassInfo ent_class_seq;
        private PositionTypeInfo ent_pos_type_seq;
        private string ent_job_site_name;
        private Nullable<DateTime> ent_date;
        private Nullable<DateTime> curr_pos_class_date;
        private Nullable<DateTime> start_date;
        private Nullable<DateTime> end_date;
        private Nullable<DateTime> quit_date;
        private HisEducationInfo edu_his_seq;
        private MovmentInfo move_seq;
        private double prm_base;
        private double prm_percent;
        private double prm_amount;
        private string rpt_remarks;
        private string cmd_group;
        private Nullable<int> tmp_emp_seq;
        private Nullable<int> tmp_edu_seq;

        public CommandDetailInfo()
        { 
        }
        public CommandDetailInfo(int Sequence)
        {
            this.Sequence = Sequence;
        }
        public CommandDetailInfo(int Sequence, CommandInfo Command, EmployeeInfo Employee, PositionInfo OldPosition
            , string OldPositionNo, string OldPositionName, string OldExecutiveName, double OldExecutiveSalary
            , string OldPositionLine, ClassInfo OldClass, string OldClassName, JobSiteInfo OldJobSite
            , string OldJobSiteName, JobSiteInfo OldWorking, string OldWorkingName, double OldSalary
            , PositionInfo NewPosition, string NewPositionNo, string NewPositionName, string NewExecutiveName
            , double NewExecutiveSalary, string NewPositionLine, ClassInfo NewClass, string NewClassName
            , JobSiteInfo NewJobSite, string NewJobSiteName, JobSiteInfo NewWorking, string NewWorkingName
            , double NewSalary, Nullable<DateTime> StartDate, Nullable<DateTime> EndDate
            , HisEducationInfo HisEducations, MovmentInfo Movment, string RptRemarks
            , string Remarks, string RecordStatus, Nullable<int> CreatedBy, Nullable<int> UpdatedBy)
        {
            this.Sequence = Sequence;
            this.Command = Command;
            this.Employee = Employee;
            this.OldPosition = OldPosition;
            this.OldPositionNo = OldPositionNo;
            this.OldPositionName = OldPositionName;
            this.OldExecutiveName = OldExecutiveName;
            this.OldExecutiveSalary = OldExecutiveSalary;
            this.OldPositionLine = OldPositionLine;
            this.OldClass = OldClass;
            this.OldClassName = OldClassName;
            this.OldJobSite = OldJobSite;
            this.OldJobSiteName = OldJobSiteName;
            this.OldWorking = OldWorking;
            this.OldWorkingName = OldWorkingName;
            this.OldSalary = OldSalary;
            this.NewPosition = NewPosition;
            this.NewPositionNo = NewPositionNo;
            this.NewPositionName = NewPositionName;
            this.NewExecutiveName = NewExecutiveName;
            this.NewExecutiveSalary = NewExecutiveSalary;
            this.NewPositionLine = NewPositionLine;
            this.NewClass = NewClass;
            this.NewClassName = NewClassName;
            this.NewJobSite = NewJobSite;
            this.NewJobSiteName = NewJobSiteName;
            this.NewWorking = NewWorking;
            this.NewWorkingName = NewWorkingName;
            this.NewSalary = NewSalary;
            this.StartDate = StartDate;
            this.EndDate = EndDate;
            this.HisEducations = HisEducations;
            this.Movment = Movment;
            this.RptRemarks = RptRemarks;
            this.Remarks = Remarks;
            this.RecordStatus = RecordStatus;
            this.CreatedBy = CreatedBy;
            this.UpdatedBy = UpdatedBy;
        }
        public int Sequence
        {
            get { return cmd_dtls_seq; }
            set { cmd_dtls_seq = value; }
        }
        public CommandInfo Command
        {
            get { return cmd_seq; }
            set { cmd_seq = value; }
        }
        public EmployeeInfo Employee
        {
            get { return emp_seq; }
            set { emp_seq = value; }
        }
        public PositionInfo OldPosition
        {
            get { return old_pos_seq; }
            set { old_pos_seq = value; }
        }
        public string OldPositionNo
        {
            get { return old_pos_ref; }
            set { old_pos_ref = value; }
        }
        public string OldPositionName
        {
            get { return old_pos_name; }
            set { old_pos_name = value; }
        }
        public string OldExecutiveName
        {
            get { return old_exec_name; }
            set { old_exec_name = value; }
        }
        public double OldExecutiveSalary
        {
            get { return old_exec_salary; }
            set { old_exec_salary = value; }
        }
        public string OldPositionLine
        {
            get { return old_pos_line; }
            set { old_pos_line = value; }
        }
        public ClassInfo OldClass
        {
            get { return old_class_seq; }
            set { old_class_seq = value; }
        }
        public string OldClassName
        {
            get { return old_class_name; }
            set { old_class_name = value; }
        }
        public JobSiteInfo OldJobSite
        {
            get { return old_job_site_seq; }
            set { old_job_site_seq = value; }
        }
        public string OldJobSiteName
        {
            get { return old_job_site_name; }
            set { old_job_site_name = value; }
        }
        public JobSiteInfo OldWorking
        {
            get { return old_working_job_site_seq; }
            set { old_working_job_site_seq = value; }
        }
        public string OldWorkingName
        {
            get { return old_working_job_site_name; }
            set { old_working_job_site_name = value; }
        }
        public double OldSalary
        {
            get { return old_salary; }
            set { old_salary = value; }
        }
        public PositionInfo NewPosition
        {
            get { return new_pos_seq; }
            set { new_pos_seq = value; }
        }
        public string NewPositionNo
        {
            get { return new_pos_ref; }
            set { new_pos_ref = value; }
        }
        public string NewPositionName
        {
            get { return new_pos_name; }
            set { new_pos_name = value; }
        }
        public string NewExecutiveName
        {
            get { return new_exec_name; }
            set { new_exec_name = value; }
        }
        public double NewExecutiveSalary
        {
            get { return new_exec_salary; }
            set { new_exec_salary = value; }
        }
        public string NewPositionLine
        {
            get { return new_pos_line; }
            set { new_pos_line = value; }
        }
        public ClassInfo NewClass
        {
            get { return new_class_seq; }
            set { new_class_seq = value; }
        }
        public string NewClassName
        {
            get { return new_class_name; }
            set { new_class_name = value; }
        }
        public JobSiteInfo NewJobSite
        {
            get { return new_job_site_seq; }
            set { new_job_site_seq = value; }
        }
        public string NewJobSiteName
        {
            get { return new_job_site_name; }
            set { new_job_site_name = value; }
        }
        public JobSiteInfo NewWorking
        {
            get { return new_working_job_site_seq; }
            set { new_working_job_site_seq = value; }
        }
        public string NewWorkingName
        {
            get { return new_working_job_site_name; }
            set { new_working_job_site_name = value; }
        }
        public double NewSalary
        {
            get { return new_salary; }
            set { new_salary = value; }
        }
        public Nullable<DateTime> StartDate
        {
            get { return start_date; }
            set { start_date = value; }
        }
        public Nullable<DateTime> EndDate
        {
            get { return end_date; }
            set { end_date = value; }
        }
        public Nullable<DateTime> QuitDate
        {
            get { return quit_date; }
            set { quit_date = value; }
        }
        public HisEducationInfo HisEducations
        {
            get { return edu_his_seq; }
            set { edu_his_seq = value; }
        }
        public MovmentInfo Movment
        {
            get { return move_seq; }
            set { move_seq = value; }
        }
        public string RptRemarks
        {
            get { return rpt_remarks; }
            set { rpt_remarks = value; }
        }
        public double PromotionBase
        {
            get { return prm_base; }
            set { prm_base = value; }
        }
        public double PromotionPercent
        {
            get { return prm_percent; }
            set { prm_percent = value; }
        }
        public double PromotionAmount
        {
            get { return prm_amount; }
            set { prm_amount = value; }
        }
        public Nullable<int> EntNo
        {
            get { return ent_no; }
            set { ent_no = value; }
        }
        public string EntPositionName
        {
            get { return ent_pos_name; }
            set { ent_pos_name = value; }
        }
        public string EntJobSiteName
        {
            get { return ent_job_site_name; }
            set { ent_job_site_name = value; }
        }
        public Nullable<DateTime> EntDate
        {
            get { return ent_date; }
            set { ent_date = value; }
        }
        public Nullable<DateTime> CurrentPosClassDate
        {
            get { return curr_pos_class_date; }
            set { curr_pos_class_date = value; }
        }
        public PositionTypeInfo EntPositionType
        {
            get { return ent_pos_type_seq; }
            set { ent_pos_type_seq = value; }
        }
        public ClassInfo EntClass
        {
            get { return ent_class_seq; }
            set { ent_class_seq = value; }
        }
        public string Group
        {
            get { return cmd_group; }
            set { cmd_group = value; }
        }
        public Nullable<int> TmpEmployee
        {
            get { return tmp_emp_seq; }
            set { tmp_emp_seq = value; }
        }
        public Nullable<int> TmpEducate
        {
            get { return tmp_edu_seq; }
            set { tmp_edu_seq = value; }
        }
    }
}
